<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    <script>

        // 判断数组中是否存在某个值，不存在就返回-1   存在就返回第一次出现的下标
        
        function indexOf(arr , n) {
            // 第一种：假设法

            // 假设找不到
            var res = -1 ;

            // 拿和数组中的所有值做比较
            for(var i in arr) {
                if(arr[i] === n) {
                    res = i ;
                    break ;   // 找到了第一次出现的位置就不需要继续找
                }
            }

            return res ;

        }



        // document.write(indexOf([1,2,3,4,2] , 2)) ;




        function indexOf2(arr , n) {
            // 利用循环提前结束

            // 拿所有的数组中的值出来比较
            for(var i = 0 ; i < arr.length ; i++) {
                if(arr[i] === n) {
                    break ;
                }
            }

            // 判断循环是否提前结束 
            // if(i === arr.length) {
            //     return -1
            // }
            // return i ;
            return i === arr.length ? -1 : i ;
        }


        // document.write(indexOf2([1,2,3,4,2] , 2)) ;



        function indexOf3(arr , n) {
            for(var i in arr) {
                if(arr[i] === n) {
                    return i ;
                }
            }
            return -1 ;
        }


        document.write(indexOf3([1,2,3,4,2] , 2)) ;

    </script>
    
</body>
</html>